using System;
namespace ns10
{
	public sealed class ErrorCorrectionLevel
	{
		public static readonly ErrorCorrectionLevel L = new ErrorCorrectionLevel(0, 1, "L");
		public static readonly ErrorCorrectionLevel M = new ErrorCorrectionLevel(1, 0, "M");
		public static readonly ErrorCorrectionLevel Q = new ErrorCorrectionLevel(2, 3, "Q");
		public static readonly ErrorCorrectionLevel H = new ErrorCorrectionLevel(3, 2, "H");
		private static readonly ErrorCorrectionLevel[] errorCorrectionLevel_0 = new ErrorCorrectionLevel[]
		{
			ErrorCorrectionLevel.M,
			ErrorCorrectionLevel.L,
			ErrorCorrectionLevel.H,
			ErrorCorrectionLevel.Q
		};
		private int int_0;
		private int int_1;
		private string string_0;
		public int Bits
		{
			get
			{
				return this.int_1;
			}
		}
		public string Name
		{
			get
			{
				return this.string_0;
			}
		}
		private ErrorCorrectionLevel(int int_2, int int_3, string string_1)
		{
			this.int_0 = int_2;
			this.int_1 = int_3;
			this.string_0 = string_1;
		}
		public int ordinal()
		{
			return this.int_0;
		}
		public override string ToString()
		{
			return this.string_0;
		}
		public static ErrorCorrectionLevel forBits(int bits)
		{
			if (bits < 0 || bits >= ErrorCorrectionLevel.errorCorrectionLevel_0.Length)
			{
				throw new ArgumentException();
			}
			return ErrorCorrectionLevel.errorCorrectionLevel_0[bits];
		}
	}
}
